package com.example.demo.bizhan.thread;

import static java.lang.System.out;

/**
 * @description: 共同点:将希望线程执行的代码放到run方法,然后通过调用start方法来启动线程
 * 区别:继承Thread类是单一继承原则
 * Runnable是一个接口 推荐使用
 * @time: 2020/10/27 17:47
 * @author: baojinlong
 **/
public class ThreadDemo02 {
    public static void main(String[] args) {
        out.println("这是main线程" + Thread.currentThread().getName());
        Thread thread03 = new Thread(new Thread03());
        Thread thread04 = new Thread(new Thread04());
        // 启动线程
        // thread03.start();
        // thread04.start();
        thread03.run();
        thread04.run();


        // 使用run方法时候,所有的代码都运行在main线程中,仅仅是一个普通方法
        // 如果使用start方法时候,线程代码是运行在各自线程中,start方法会创建一个新的子线程并启动
    }

}

class Thread03 implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            out.println(Thread.currentThread().getName());
        }
    }
}


class Thread04 implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            out.println(Thread.currentThread().getName());
        }
    }
}


